<?php

class RappresentanteDao extends Dao {
	//! A constructor
	/**
	* Constructs the LogDao
	* @param $da instance of the DataAccess class
	*/
	function StudenteDao ( & $da ) 
	{
		Dao::Dao($da);
	}
	
	function & getAllRappresentanti(){
		
		$sql='SELECT 
  "Rappresentanza"."Data inizio mandato", 
  "Rappresentanza"."Data fine mandato", 
  date_part(\'year\',"Anno Accademico"."Data inizio formale") as DataInizio, 
  date_part(\'year\',"Anno Accademico"."Data fine formale") as DataFine,
  "Corso di Studio"."Nome" as "Corso di Studio", 
  "Studente"."Data di nascita", 
  "Studente"."Email", 
  "Studente"."Nome", 
  "Studente"."Cognome",
   "Studente"."Matricola"
FROM 
  public."Anno Accademico", 
  public."Corso di Studio", 
  public."Rappresentanza", 
  public."Studente"
WHERE 
  "Anno Accademico"."IdAnno" = "Rappresentanza"."Fk_IdAnno" AND
  "Corso di Studio"."IdCorsoStudio" = "Rappresentanza"."Fk_IdCorsoStudio" AND
  "Studente"."Matricola" = "Rappresentanza"."FK_Matricola";';
		
		return $this->retrieve($sql);
	} 
	
	function & deleteRappresentante($matricola){

		$sql='DELETE FROM "Rappresentanza"
 WHERE "Rappresentanza"."FK_Matricola" = \''.$matricola.'\';';
		
		return $this->retrieve($sql);

	}
	
	function & updateRappresentante($idcorso, $matricola, $annoaccademico, $datai, $dataf){
 
		$sql='UPDATE "Rappresentanza"
   		SET "Data inizio mandato"=\''.$datai. '\', 
       		"Data fine mandato"=\''.$dataf. '\'
      	WHERE  "FK_Matricola"=\''.$matricola. '\' AND
      	"Fk_IdCorsoStudio"=\''.$idcorso. '\' AND
      	"Fk_IdAnno"=\''.$annoaccademico. '\';';
		
		return $this->update($sql);
	}

	
	function & insertRappresentante($corso, $matricola, $datai, $dataf, $anno){
		
		$sql='INSERT INTO "Rappresentanza"(
            "FK_Matricola", "Fk_IdCorsoStudio", "Fk_IdAnno", "Data inizio mandato", 
            "Data fine mandato")
    VALUES ('.$matricola.', '.$corso.', \''.$anno.'\', \''.$datai.'\', \''.$dataf.'\');';
     
      		return $this->update($sql);
	}
	
	function & getRappresentanteByMatricola($matricola){
		
		$sql='SELECT 
  "Rappresentanza"."FK_Matricola", 
  "Rappresentanza"."Fk_IdCorsoStudio", 
  "Rappresentanza"."Fk_IdAnno", 
  "Rappresentanza"."Data inizio mandato", 
  "Rappresentanza"."Data fine mandato"
FROM 
  public."Rappresentanza"
  WHERE "Rappresentanza"."FK_Matricola" = \''.$matricola.'\';';

		return $this->retrieve($sql);
	}
}
	
?>